﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Domain.Model;
using System.Web.Security;
using System.Web.UI;
using Telerik.Web.UI;

/// <summary>
/// Summary description for BasePage
/// </summary>
/// 
namespace BelDecor.Net.Pages
{
    public class BasePage : System.Web.UI.Page
    {
        public BasePage()
        {
            //
            // TODO: Add constructor logic here
            //
        }

        protected void ValidaSeguranca(string NomePagina)
        {
            //testa se usuário logado
            if (Session["userId"] == null)
            {
                Response.Redirect("login.aspx");
                return;
            }

            var func = Domain.Model.Funcionario.SingleOrDefault(f => f.id == int.Parse(Session["userId"].ToString()));

            if (func == null)
            {
                Response.Redirect("login.aspx");
                return;
            }

            if (!PerfilPagina.Exists(pf => pf.IdPerfil == func.Perfil && pf.NomePagina == NomePagina))
            {
                Response.Redirect("SemAcesso.aspx");
                return;
            }
        }

        public void Limpar(Control parent)
        {
            // Loop para buscar todos os controles do tipo  
            foreach (Control c in parent.Controls)
            {
                // Check todos os textboxes
                if ((c.GetType() == typeof(RadTextBox)))
                    ((RadTextBox)(c)).Text = "";// limpa todos os textbox's       
                else if (c.GetType() == typeof(RadComboBox))
                    ((RadComboBox)c).SelectedIndex = 0;

                //Metodo recursivo que testa todos os tipos.
                if (c.HasControls())
                    Limpar(c);
            }

        }
    }
}


